﻿namespace net.zxteam.ZXLexer.Runtime.Internal
{
	using net.zxteam.ZXLexer.AST;
	using net.zxteam.ZXLexer.Runtime.XSD;
	using System;

	public interface IGrammarVisitor
	{
		Token VisitGrammarRule(grammar grammarRule);
		Token VisitAstRule(grammarAst astRule);
		Token VisitCardinalRule(cardinalRuleType cardinalRule);
		Token VisitChoiceRule(choiceRuleType choiceRule);
		Token VisitIndentationRule(indentationRuleType indentationRule);
		Token VisitSequenceRule(sequenceRuleType sequenceRule);
		//Token VisitReferenceRule(referenceRuleType referenceRule);
		Token VisitRangeRule(rangeRuleType rangeRule);
		Token VisitCharRule(charRuleType charRule);
		Token VisitStringRule(stringRuleType stringRule);
	}
}
